// pages/sale/post_sale/post_sale.js
const app = getApp();


const qiniuUtil = require("../../../../utils/qiniuUtil");

Page({
  data: {
    formData: {
      gender: "",
      name: "",
      major: "",
      hobby: "",
      introduce: "",
      bbsSaleFriendsImageList: [] //上传的图片路径
    }, //表单数据
    genderArray: ['男', '女', '保密'],

    gender: '', //性别

    imgList: [], //临时显示图片列表
    // imageArray: [],



    UPLOAD_IMAGE: app.globalData.UPLOAD_IMAGE,
    THUMBNAIL: app.globalData.THUMBNAIL,

    imageReturnList: [],
    // 图片上传（从相册）返回对象。上传完成后，此属性被赋值
    imageObject: {},
    // 文件上传（从客户端会话）返回对象。上传完成后，此属性被赋值
    messageFileObject: {},
    // 图片上传（从相册）进度对象。开始上传后，此属性被赋值
    imageProgress: {},
    // 文件上传（从客户端会话）进度对象。开始上传后，此属性被赋值
    messageFileProgress: {},
    // 文件在线查看来源fileUrl
    viewFileOnlineFileUrl: '',
    // 文件下载进度对象。用于文件在线查看前的预下载
    downloadFileProgress: {},
    // 此属性在qiniuUploader.upload()中被赋值，用于中断上传

    // icon: {
    //   "width": "100rpx",
    //   "height": "100rpx",
    //   "path": ""
    // }
  },

  onLoad() {
    // console.log(this.data)
  },



  // onHide(){
  //   console.log(1);
  // },

  onUnload() {
    console.log(2)
  },


  DelImg(e) {
    var that = this
    wx.showModal({
      title: '',
      content: '确定要删除这图片吗？',
      cancelText: '取消',
      confirmText: '确认',
      success: res => {
        if (res.confirm) {
          // 删除七牛云图片
          // 存在问题，微信小程序无法监听页面返回按钮事件，因此无论怎样设置逻辑总有部分图片是无用的，只能去定时清理，后台数据库不保存没有引用的图片
          // 除非是做成点击发布再上传图片，但是体验不够好
          // that.deleteQiNiuOSS(that.data.imgList[e.currentTarget.dataset.index].imageUrl)

          console.log("确定")
console.log(this.data.imgList[e.currentTarget.dataset.index].imageUrl)
          app.wxRequest('get', app.globalData.HOSTURL + "/bbs/bbsSaleFriends/wise/mini/deleteQiNIUimage?url="+this.data.imgList[e.currentTarget.dataset.index].imageUrl, {}).then(res => {

            console.log(res);
    
            if(res.data.code == 200){
    
            }
    
          })

          this.data.imgList.splice(e.currentTarget.dataset.index, 1);
          this.setData({
            imgList: this.data.imgList
          })
         
         

        }
      }
    })
  },

  PickerChange(e) {

    this.setData({
      gender: this.data.genderArray[e.detail.value]
    })
  },
  /**
   * 表单上传
   * @param  formData 
   */
  formSubmit: async function (formData) {
//上传状态
    var uploadFinished = true
    this.data.imgList.forEach((item) => {
      if (item.percent != 100) {
        uploadFinished = false
      }
    })


    if (!uploadFinished) {
      wx.showToast({
        title: '请等待图片上传完成...',
        icon: 'none'
      })
      return
    }

    console.log(formData);
    var data = formData.detail.value;
    console.log(data);


    let isSubmit = true; //

    if (data.name == "" || data.name.match(/^[ ]*$/) != null) {
      // this.data.formData.name = data.name;
      // isSubmit = false;
      wx.showToast({
        title: '名字不能为空哦',
        icon: "none"
      })
    } else if (data.gender == "") {
      wx.showToast({
        title: '性别不能为空哦',
        icon: "none"
      })
    } else if (data.introduce == "" || data.introduce.match(/^[ ]*$/) != null) {
      wx.showToast({
        title: "不介绍一下你的室友吗",
        icon: "none"
      })
    } else if (this.data.imgList.length < 1) {
      wx.showToast({
        title: "最少一张图片哦",
        icon: "none"
      })
    } 
    // else if(isSubmit){
    //   wx.showToast({
    //     title: '请不要点击的太快...',
    //     icon: 'none'
    //   })
    // }
    else{
      isSubmit = true;
      let tempFormData = this.data.formData;
      tempFormData.name = data.name.trim();
      tempFormData.gender = data.gender;

      tempFormData.major = data.major.trim() == "" ? "无" : data.major.trim();
      tempFormData.hobby = data.hobby.trim() == "" ? "无" : data.hobby.trim();
      tempFormData.introduce = data.introduce;
      // tempFormData.bbsSaleFriendsImageList.push({
      //   height: 1,
      //   width: 1,
      //   imageUrl: "测试"
      // })
      // console.log(tempFormData)
      console.log(this.data.imgList);

      let imgList = this.data.imgList;



      imgList.forEach(item => {
        tempFormData.bbsSaleFriendsImageList.push({
          height: item.height,
          width: item.width,
          imageUrl: item.imageUrl
        })
      })






      console.log(tempFormData);
      // this.setData({
      //   formData: tempFormData
      // })



      app.wxRequest('post', app.globalData.HOSTURL + "/bbs/bbsSaleFriends/wise/mini/add", tempFormData).then(res => {

        console.log(res);

        if(res.data.code == 200){
          wx.showToast({
            title: '发布成功',
            icon: 'success',
            duration: 1000,
            success() {
              setTimeout(() => {
                app.globalData.needReloadSaleFriend = true
                wx.switchTab({
                  url: '/pages/sale/sale',
                })
              }, 1000)
            }
          })

          
        }else if(res.data.code == 1000){
          wx.showToast({
            title: '！未授权,无法发布!',
            icon: 'none',
            duration: 2500,
          })
        } if(res.data.code == 500){
          wx.showToast({
            title: res.data.message,
            icon: 'none',
            duration: 2500//持续的时间
          })
        }

      })

    }


    // console.log(data.content.match(/^[ ]*$/) != null)
    // console.log(this.data.formData);
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },



  // 查看图片
  ViewImage(e) {
    console.log(e)
    var that = this
    let imageList = []
    that.data.imgList.forEach(item => {
      if (item.imageType == 0) {
        imageList.push(item.imageTempUrl)
      } else if (item.imageType == 1) {
        imageList.push(that.data.UPLOAD_IMAGE + item.imageUrl + that.data.THUMBNAIL)
      }
    })
    wx.previewImage({
      urls: imageList,
      current: that.data.UPLOAD_IMAGE + e.currentTarget.dataset.url + that.data.THUMBNAIL
    });
  },

  // 上传图片
  uploadImage(e) {
    let that = this;
    // 初始化七牛云配置
    qiniuUtil.initQiniu();
    // initQiniu();
    // 置空messageFileObject，否则在第二次上传过程中，wxml界面会存留上次上传的信息
    that.setData({
      'imageObject': {},
      'imageProgress': {}
    });
    // 微信 API 选择图片（从相册）
    wx.chooseImage({
      sizeType: ['compressed'], //可以指定是原图还是压缩图，默认二者都有
      // 最多可以选择的图片张数。
      count: 4,
      success: function (res) {
        console.log(res)
        let imageListTem = that.data.imgList
        res.tempFilePaths.forEach(item => {
          var imageListTemTemp = {}
          imageListTemTemp.imageTempUrl = item //本地临时路径
          imageListTemTemp.imageUrl = "" //OSS路径
          imageListTemTemp.percent = 0
          imageListTemTemp.imageType = 0 //0：临时路径，1：OSS路径
          wx.getImageInfo({
            src: item,
            success(res) {
              imageListTemTemp.height = res.height;
              imageListTemTemp.width = res.width;
            }
          });



          imageListTem.push(imageListTemTemp)
          that.setData({
            imgList: imageListTem
          })
          // 开始上传   this对象，上传url
          that.wiseUpload(that, item)
        });
      }
    })
  },



  // mark: 选择后上传
  wiseUpload(that, filePath) {
    console.log(filePath)
    // 生成文件名
    let fileName = new Date().getTime() + "_" + wx.getStorageSync('ALLINFO').bbsUserRecord.createBy
    // wx.chooseImage 目前微信官方尚未开放获取原图片名功能(2020.4.22)
    // 向七牛云上传
    qiniuUtil.upload(filePath, (res) => {
        that.setData({
          'imageObject': res
        });
        // console.log(res)
        // var jsonO = {}
        // jsonO.topicImage = res.key
        // that.data.imageReturnList.push(jsonO)
        // console.log('提示: wx.chooseImage 目前微信官方尚未开放获取原图片名功能(2020.4.22)');
        // console.log('file url is: ' + res.fileURL);
      }, (error) => {
        console.error('error: ' + JSON.stringify(error));
      },
      {
        region: app.globalData.QINIUREGION,
        key: "userdata/salefirend/" + fileName,
      },
      (progress) => {
        // that.setData({
        //   'imageProgress': progress
        // });
        var imgListTem = that.data.imgList
        imgListTem.forEach(item => {
          if (item.imageTempUrl == filePath) {
            item.percent = progress.progress // 实时显示上传进度
            item.imageUrl = "userdata/salefirend/" + fileName
          }
        })
        that.setData({
          imgList: imgListTem
        })

        // console.log('上传进度', progress.progress);
        // console.log('已经上传的数据长度', progress.totalBytesSent);
        // console.log('预期需要上传的数据总长度', progress.totalBytesExpectedToSend);
      }, cancelTask => that.setData({
        cancelTask
      })
    );
    console.log(this.data.imgList)
  }

})